#!/bin/bash
DATA="$HOME/Library/Application Support/DragonWarrior4Recomp"
mkdir -p "$DATA/saves" "$DATA/diagnostics" "$DATA/mods"
cd "$DATA" || exit 1
export NESRECOMP_DIAGNOSTICS_DIR="$DATA/diagnostics"
export NESRECOMP_SAVE_NAME="DragonWarriorIV"
export NESRECOMP_STATE_DIR="$DATA/saves"
HERE="$(cd "$(dirname "$0")" && pwd)"
export NESRECOMP_BUNDLED_MODS="$HERE/../Resources/mods"   # the HD pack inside the app
# First run: the HD pack starts switched on (Mods in the launcher turns it off).
if [ ! -f mods/state.toml ] && [ -d "$NESRECOMP_BUNDLED_MODS/packages/dragon-warrior-4.hd-text/0.12.0" ]; then
    printf 'format_version = 1\n\n[[package]]\nid = "%s"\nversion = "%s"\n\n[[feature]]\npackage_id = "%s"\nid = "hd-pack"\nenabled = true\n' \
        "dragon-warrior-4.hd-text" "0.12.0" "dragon-warrior-4.hd-text" > mods/state.toml
fi
ROM=""
if [ -f "$HERE/../Resources/DragonWarriorIV.nes" ]; then
    ROM="$HERE/../Resources/DragonWarriorIV.nes"
elif [ -f rom.cfg ] && [ -f "$(head -n 1 rom.cfg)" ]; then
    ROM="$(head -n 1 rom.cfg)"
else
    for f in "$DATA"/*.nes "$DATA"/*.NES; do [ -f "$f" ] && { ROM="$f"; break; }; done
fi
exec "$HERE/DragonWarrior4" ${ROM:+"$ROM"} "$@"
